﻿using Microsoft.EntityFrameworkCore;
using Microsoft.EntityFrameworkCore.Metadata.Builders;
using QuartzServices.Domain.DomainModels;

namespace QuartzServices.Infrastructure.Mappings
{
    internal class JabilApiTokenMap : IEntityTypeConfiguration<JabilApiTokenModel>
    {
        public void Configure(EntityTypeBuilder<JabilApiTokenModel> entity)
        {
            entity.HasKey(e => e.Id).HasName("PK__JABIL_AP__3214EC274E7C95E3");

            entity.ToTable("JABIL_API_TOKEN");

            entity.Property(e => e.Id)
                .HasMaxLength(64)
                .IsUnicode(false)
                .HasDefaultValueSql("(newid())")
                .HasComment("主键")
                .HasColumnName("ID");
            entity.Property(e => e.Account)
                .HasMaxLength(255)
                .IsUnicode(false)
                .HasColumnName("account");
            entity.Property(e => e.Createby)
                .HasMaxLength(64)
                .IsUnicode(false)
                .HasComment("创建用户")
                .HasColumnName("CREATEBY");
            entity.Property(e => e.Createon)
                .HasComment("创建日期")
                .HasColumnType("datetime")
                .HasColumnName("CREATEON");
            entity.Property(e => e.Createuserid)
                .HasMaxLength(64)
                .IsUnicode(false)
                .HasComment("创建用户主键")
                .HasColumnName("CREATEUSERID");
            entity.Property(e => e.Deletemark)
                .HasDefaultValueSql("('0')")
                .HasComment("删除标志")
                .HasColumnName("DELETEMARK");
            entity.Property(e => e.Enabled)
                .HasDefaultValueSql("('1')")
                .HasComment("有效标识")
                .HasColumnName("ENABLED");
            entity.Property(e => e.Modifiedby)
                .HasMaxLength(64)
                .IsUnicode(false)
                .HasComment("修改用户")
                .HasColumnName("MODIFIEDBY");
            entity.Property(e => e.Modifiedon)
                .HasComment("修改日期")
                .HasColumnType("datetime")
                .HasColumnName("MODIFIEDON");
            entity.Property(e => e.Modifieduserid)
                .HasMaxLength(64)
                .IsUnicode(false)
                .HasComment("修改用户主键")
                .HasColumnName("MODIFIEDUSERID");
            entity.Property(e => e.Password)
                .HasMaxLength(255)
                .IsUnicode(false)
                .HasColumnName("password");
            entity.Property(e => e.SystemId)
                .HasComment("SystemID:")
                .HasColumnName("SystemID");
            entity.Property(e => e.Token)
                .IsUnicode(false)
                .HasComment("TOKEN")
                .HasColumnName("TOKEN");
            entity.Property(e => e.TradeCo)
                .HasMaxLength(32)
                .IsUnicode(false)
                .HasComment("企业唯一代码")
                .HasColumnName("TRADE_CO");
            entity.Property(e => e.TradeName)
                .HasMaxLength(256)
                .IsUnicode(false)
                .HasComment("企业唯一名称")
                .HasColumnName("TRADE_NAME");
        }
    }
}
